javascript
/**
* @param {number[]} nums
* @param {number} k
* @return {boolean}
*/
var containsNearbyDuplicate = function (nums, k) {
const map = new Map()
for (let i = 0; i < nums.length; i++) {
if (map.has(nums[i])) {
const indexs = map.get(nums[i])
for (let j = 0; j < indexs.length; j++) {
if (Math.abs(indexs[j] - i) <= k) {
return true
}
}
indexs.push(i)
map.set(nums[i], indexs)
} else {
map.set(nums[i], [i])
}
}
return false
}